1. Field of the Invention
The present invention relates generally to computerized wagering game systems, and more specifically to use of a physical system for embedding a data verification device, component or a verification subcomponent in a gaming apparatus. The verification device effects required validation and security functions through encryption, code analysis, data analysis and/or hash functions in a computerized wagering game system.
2. Background of the Art
Games of chance have been enjoyed by people for thousands of years and have enjoyed increased and widespread popularity in recent times. As with most forms of entertainment, players enjoy playing a wide variety of games and new games. Playing new games adds to the excitement of “gaming.” As is well known in the art and as used herein, the term “gaming” and “gaming devices” are used to indicate that some form of wagering is involved, and that players must make wagers of value, whether actual currency or some equivalent of value, e.g., token or credit. One popular gaming device is the slot machine. Conventionally, a slot machine is configured for a player to wager something of value, e.g., currency, house token, established credit, debit on existing credit or other representation of currency or credit. After the wager has been made, the player activates the slot machine to cause a random event to occur. The player wagers that particular random events will occur that will return value to the player. A standard gaming device causes a plurality of reels to spin and ultimately stop, displaying a randomly selected combination of some form of indicia, for example, numbers or symbols. If this display contains one of a preselected plurality of winning combinations, the machine releases money into a payout chute or increments a credit meter or stored credit record by the amount won by the player. For example, if a player initially wagers two coins of a specific denomination and that player achieved a payout, that player may receive the same number or multiples of the wagered amount in coins or credit of the same denomination as wagered.
There are many different formats for generating the random display of events that can occur to determine payouts in wagering devices. The standard or original format was the use of three reels with symbols distributed over the face of the reel. When the three reels were spun, they would eventually each stop in turn, displaying a combination of three symbols (e.g., with three reels and the use of a single payout line as a row in the middle of the area where the symbols are displayed.) By appropriately distributing and varying the symbols on each of the reels, the random occurrence of predetermined winning combinations can be provided in mathematically predetermined probabilities. By clearly providing for specific probabilities for each of the preselected winning outcomes, precise odds that control the amount of the payout for any particular combination and the percentage return on wagers for the house can be readily controlled.
Other formats of gaming apparatus that have developed in a progression from the standard slot machine with three reels have dramatically increased with the development of video gaming apparatus. Rather than have only mechanical elements such as wheels or reels that turn and stop to randomly display symbols, video gaming apparatus and the rapidly increasing sophistication in hardware and software have enabled an explosion of new and exciting gaming apparatus. The earlier video apparatus merely imitated or simulated the mechanical slot games in the belief that players would want to play only the same games. Early video games therefore were simulated slot machines. The use of video gaming apparatus to play new games such as draw poker and Keno broke the ground for the realization that there were many untapped formats for gaming apparatus. Now casinos may have hundreds of different types of gaming apparatus with an equal number of significant differences in play. The apparatus may vary from traditional three reel slot machines with a single payout line, video simulations of three reel video slot machines, to five reel, five column simulated slot machines with a choice of twenty or more distinct pay lines, including randomly placed lines, scatter pays, or single image payouts. Video gaming systems may also enable the play of multiple games at separate times or at the same time (e.g., 100 video poker games) on the same gaming device.
In addition to the variation in formats for the play of games, bonus plays, bonus awards, and progressive jackpots have been introduced with great success. The bonuses may be associated with the play of games that are quite distinct from the play of the original game. Examples include a video display of a horse race with bets on the individual horses randomly assigned to players that qualify for a bonus, the spinning of a random wheel with fixed amounts of a bonus payout on the wheel (or simulation thereof), and the selection of symbols or objects having random multipliers or values assigned to them that are displayed only after selection of the symbols or objects or attempting to select a random card that is of higher value than a card exposed on behalf of a virtual dealer.
Examples of such gaming apparatus with a distinct bonus feature includes U.S. Pat. Nos. 5,823,874; 5,848,932; 5,836,041; U.K. Patent Nos. 2 201 821 A; 2 202 984 A; and 2 072 395A; and German Patent DE 40 14 477 A1. Each of these patents differs in fairly subtle ways as to the manner in which the bonus round is played. British Patent 2 201 821 A and German Patent DE 37 00 861 A1 describe a gaming apparatus in which after a winning outcome is first achieved in a reel-type gaming segment, a second segment is engaged to determine the amount of money or extra games awarded. The second segment gaming play involves a spinning wheel with awards listed thereon (e.g., the number of coins or number of extra plays) and a spinning arrow that will point to segments of the wheel with the values of the awards thereon. A player will press a stop button and the arrow will point to one of the values. The specification indicates both that there is a level of skill possibly involved in the stopping of the wheel and the arrow(s), and also that an associated computer operates the random selection of the rotatable numbers and determines the results in the additional winning game, which indicates some level of random selection in the second gaming segment.
U.S. Pat. No. 6,264,557 describes a system for playing electronic games that includes a game server and one or more player terminals. Game results are based on a random number generated in each of the game server and the player terminals. The game server and the player terminals cooperate to ensure that the random numbers are generated independently. As a result, game players and the game host, such as a casino, can be confident that play results are not fraudulent. In one embodiment, the random numbers are transmitted between the game server and the player terminals at substantially the same time. In other embodiments, the random numbers are encoded and exchanged between the game server and the player terminals. Then, keys to decode the random numbers are exchanged.
U.S. Pat. No. 6,203,427 describes a system for facilitating an Internet-based game of chance, particularly a computer-based version of a punchboard game having a grid with prizes associated with the various grid locations. The user can pay a central controller for each selection by providing a credit card number, or through other Internet transaction means. The central controller sends the user a fresh virtual punchboard (i.e. a game in which no selections have yet been made). The user selects a grid location, encrypts it, and then transmits it to the central controller. The central controller then generates prize values for the grid that it sent to the player. The user's computer stores the locations of each prize and determines whether the player's selection was a winner. If he has won, the player sends the decryption key to the central controller to decrypt his grid selection and authenticate his selection. The central controller then initiates a payment to the user.
U.S. Pat. No. 6,149,522 describes authentication of a casino game data set that is carried out within the casino game console using an authentication program stored in an unalterable ROM physically located within the casino game console. The casino game data set and a unique signature are stored in a mass storage device, which may comprise a read only unit or a read/write unit and which may be physically located either within the casino game console or remotely located and linked to the casino game console over a suitable network. The authentication program stored in the unalterable ROM performs an authentication check on the casino game data set at appropriate times, such as prior to commencement of game play, at periodic intervals or upon demand. At appropriate occasions, the contents of the unalterable ROM can be verified by computing the message digest of the unalterable ROM contents and comparing this computed message digest with a securely stored copy of the message digest computed from the ROM contents prior to installation in the casino game console.
The invention described in U.S. Pat. No. 6,106,396 is an electronic casino gaming system which greatly expands casino game play capability and enhances security and authentication capabilities. More particularly, the invention comprises an electronic casino gaming system and method having greatly expanded mass storage capability for storing a multiplicity of high resolution, high sound quality casino type games, and provides enhanced authentication of the stored game program information with a high security factor. According to a first aspect of the invention, authentication of a casino game data set is carried out within the casino game console using an authentication program stored in an unalterable ROM physically located within the casino game console. The casino game data set and a unique signature are stored in a mass storage device, which may comprise a read only unit or a read/write unit and which may be physically located either within the casino game console or remotely located and linked to the casino game console over a suitable network. The authentication program stored in the unalterable ROM performs an authentication check on the casino game data set at appropriate times, such as prior to commencement of game play, at periodic intervals or upon demand. At appropriate occasions, the contents of the unalterable ROM can be verified by computing the message digest of the unalterable ROM contents and comparing this computed message digest with a securely stored copy of the message digest computed from the ROM contents prior to installation in the casino game console.
U.S. Pat. No. 6,099,408 describes an electronic game system comprising a game server and one or more player terminals, wherein said one or more player terminals include: a first random number generator; and first transmitting means for transmitting said first random number to said game server at substantially the same time as a second random number is received; and wherein said game server includes: a second random number generator; and second transmitting means for transmitting said second random number to said one or more player terminals at substantially the same time as said first random number is received, said system including means for generating a game result based on said first random number and said second random number.
U.S. Pat. No. 5,643,086 describes an electronic casino gaming system including an unalterable ROM for storing a casino game authentication program, including a message digest algorithm program, a decryption program and a decryption key. A casino game data set containing casino game rules and image data is stored in a mass storage device, such as a local disk memory or a remote network file server, along with the signature of the casino game data set. The signature is an encrypted version of the message digest of the casino game data set, prepared using a hash function. Prior to permitting game play by a player, the casino game data set is transferred from the mass storage device to main memory and during this process the message digest is computed from the image data using a hash function stored in the ROM. The encrypted version of the message digest transferred from the mass storage device is decrypted using the decryption program and decryption key stored in the unalterable ROM. The two message digests are then compared for a match: if a match exists, game play is permitted; if a match does not exist, game play is prohibited. The authentication procedure is also used to check all casino game software, both programs and fixed data sets, stored in any memory devices distributed throughout the system, such as the system boot ROM, NVRAM and all sub-system memory devices. The authentication procedure is run whenever a particular program or fixed data set is scheduled for use by the system, and also at periodic intervals and on demand.
U.S. Pat. Nos. 5,823,874 and 5,848,932 describe a gaming device comprising: a first, standard gaming unit for displaying a randomly selected combination of indicia, said displayed indicia selected from the group consisting of reels, indicia of reels, indicia of playing cards, and combinations thereof; means for generating at least one signal corresponding to at least one select display of indicia by said first, standard gaming unit; means for providing at least one discernible indicia of a mechanical bonus indicator, said discernible indicia indicating at least one of a plurality of possible bonuses, wherein said providing means is operatively connected to said first, standard gaming unit and becomes actuatable in response to said signal. In effect, the second gaming event simulates a mechanical bonus indicator such as a roulette wheel or wheel with a pointing element.
A video terminal is another form of gaming device. Video terminals operate in the same manner as conventional slot or video machines except that an electronic credit or a redemption ticket is issued rather than an immediate payout being dispensed. The vast array of electronic video gaming apparatus that is commercially available is not standardized within the industry or necessarily even within the commercial line of apparatus available from a single manufacturer. One of the reasons for this lack of uniformity or standardization is the fact that many of the operating systems that have been used to date in the industry are primitive. As a result, the programmer must often create code for each and every function performed by each individual apparatus. To date, no manufacturer is known to have been successful in creating a universal operating system for converting existing equipment (that includes features such as reusable modules of code) at least in part because of the limitations in utility and compatibility of the operating systems in use. When new games are created, new hardware and software is typically created from the ground up.
At least one attempt has been made to create a universal gaming engine that segregates the code associated with random number generation and algorithms applied to the random number string from the balance of the code. Carlson U.S. Pat. No. 5,707,286 describes such a device. This patentee recognized that modular code would be beneficial, but only contemplated making random number generation and transfer algorithms modular.
Devices for authentication of data are used in gaming machines at the present time. For example, Aurora Casino Equipment uses a bridge that is inserted between a single EPROM chip and the game machine. This bridge has a communication function that apparently broadcasts a signature to an RF receiver to verify hard memory on the EPROM chip. Each EPROM would require a separate broadcasting bridge to authenticate each EPROM. The published system also appears to authenticate data on an EPROM upon boot up.
The lack of a standard operating system has contributed to maintaining an artificially high price for the systems in the market. The use of unique hardware interfaces in the various manufactured video gaming systems is a contributing factor. The different hardware, the different access codes, the different pin couplings, the different harnesses for coupling of pins, the different functions provided from the various pins, and the other various and different configurations within the systems has prevented any standard from developing within the technical field. This is advantageous to the apparatus manufacturer, because the games for each system are provided exclusively by a single manufacturer, and entire systems can be readily obsoleted, so that the market will have to purchase a complete unit rather than merely replacement software. Also, competitors cannot easily provide a single game that can be played on different hardware. A solution to this problem is presented in our co-pending application for Video Gaming Apparatus for Wagering with Universal Computerized Controller and I/O Interface for Unique Architecture, assigned Ser. No. 09/405,921, filed Sep. 24, 1999, and application Ser. No. 09/847,051, filed May 1, 2001 (having the same title), the disclosures of which are incorporated herein by reference.
The invention of computerized gaming systems that includes a common or universal video wagering game controller that can be installed in a broad range of video gaming apparatus without substantial modification to the game controller has made possible the standardization of many components and of corresponding gaming software within gaming systems. Such systems desirably will have functions and features that are specifically tailored to the unique demands of supporting a variety of games and gaming apparatus types, and will do so in a manner that is efficient, secure, and cost-effective. In addition to making communication between a universal operating system and non-standard machine devices such as coin hoppers, monitors, bill validators and the like possible, it would be desirable to provide security features that enable the operating system to verify that game code and other data has not changed during operation.
Alcorn et al. U.S. Pat. No. 5,643,086, as mentioned above, describes a gaming system that is capable of authenticating an application or game program stored on a mass storage media device such as a CD-ROM, RAM, ROM or other device using hashing and encryption techniques. The mass storage device may be located in the gaming machine, or may be external to the gaming machine. This verification technique therefore will not detect any changes that occur in the code that is executing because it tests the code residing in mass storage prior to loading into RAM. The authenticating system relies on the use of a digital signature and suggests hashing of the entire data set during the encryption and decryption process. See also, Alcorn et al. U.S. Pat. No. 6,106,396 and Alcorn et al. U.S. Pat. No. 6,149,522. In particular, U.S. Pat. No. 6,149,522 describes a method for authentication of a casino game data set that, in its broadest concept, requires a) providing a data set for a casino game, b) computing a primary abbreviated bit string that is unique to the data set, c) encrypting the unique abbreviated bit string data set to provide a signature, and d) storing the casino data set and the signature.
In any computer based gaming apparatus, the security of the device and its computer system is extremely important. Operating a security system should be minimally obtrusive in the operation of the games. The internal security systems described above are only one useful method of providing some level of security to the gaming devices. Externally accessible security systems are also desirable. Among commercially available security systems are a series of gaming system validators sold by Kobetron™ Inc. (including at least the Kobetron™ GI-3000) and by DATAMAN, Ltd. (including at least the S4 Validator security system). Both of these systems operate in substantially the same manner. The gaming device is powered down, the device is opened, a memory chip (e.g., an EPROM) is removed from the hardware in the device, the memory chip is inserted into the validation device (usually a hand-held device), the memory chip is read and/or interrogated by the validation device, and after validation has been achieved, the memory chip is reinserted into the gaming device and the gaming device is powered up to enable use of the gaming device by a player. This manual operation must be performed on each individual gaming device and requires the operator to take the machine out of service during the process. It is desired to have a more easily implemented security system that is less intrusive on the play time of the apparatus.
It is further desired by the inventors that the security system and any game program code be identifiable as certified or approved, such as by the Nevada Gaming Regulations Commission or other regulatory agency.